import Vue from 'vue'
import { Message } from 'element-ui'

// 全局错误处理
const errorHandler = (error, vm, info) => {
  console.error('Vue错误：', error)
  console.error('Vue实例：', vm)
  console.error('错误信息：', info)

  // 显示错误提示
  Message({
    message: '系统出现错误，请稍后再试',
    type: 'error',
    duration: 5 * 1000
  })
}

// 注册全局错误处理
Vue.config.errorHandler = errorHandler

// 捕获Promise错误
window.addEventListener('unhandledrejection', event => {
  console.error('Promise错误：', event.reason)
  event.preventDefault()
})

// 捕获JS运行时错误
window.onerror = function(message, source, lineno, colno, error) {
  console.error('JS运行时错误：', {
    message,
    source,
    lineno,
    colno,
    error
  })
  return true
}

export default errorHandler 